package com.tbynet.jwp.repository.spi;

import com.jfinal.plugin.activerecord.Record;
import com.tbynet.jwp.framework.core._JwpService;
import com.tbynet.jwp.model.Posts;

import java.util.List;

/**
 * 文章统计服务
 * @ClassName: PostStatService
 * @Description: 专门处理文章相关的统计功能
 * @Author: 佰亿互联
 * @Date: 2025年11月4日
 *
 * @Copyright: 2025 www.tbynet.com Inc. All rights reserved.
 * 注意: 本内容仅限于内部传阅，禁止外泄以及用于其他的商业目
 */
public interface PostStatService extends _JwpService<Posts> {

    /**
     * 获取热门分类
     * @return 热门分类列表
     */
    List<Record> getPopularCategories();

    /**
     * 获取文章趋势数据
     * @param period 时间段 (month/week/day)
     * @return 趋势数据
     */
    List<Record> getTrendData(String period);

    /**
     * 获取月度趋势数据
     * @return 月度趋势数据
     */
    List<Record> getMonthlyTrend();

    /**
     * 获取周度趋势数据
     * @return 周度趋势数据
     */
    List<Record> getWeeklyTrend();

    /**
     * 获取日度趋势数据
     * @return 日度趋势数据
     */
    List<Record> getDailyTrend();

    /**
     * 获取分类文章分布
     * @return 分类分布数据
     */
    List<Record> getCategoryDistribution();

    /**
     * 获取标签使用统计
     * @return 标签统计
     */
    List<Record> getTagStats();

    /**
     * 获取作者活跃度统计
     * @return 作者活跃度
     */
    List<Record> getAuthorActivityStats();

    /**
     * 获取文章状态统计
     * @return 文章状态统计
     */
    List<Record> getPostStatusStats();
}
